eab412ac2eca208ec0685523d41c2a0ae3cd9c52,languagetool-language-modules/en/src/main/java/org/languagetool/rules/en/AvsAnRule.java,AvsAnRule,match,#AnalyzedSentence#,74
Before Change
for (int i = 1; i < tokens.length; i++) { // ignoring token 0, i.e., SENT_START
AnalyzedTokenReadings token = tokens[i];
String prevTokenStr = prevToken != null ? prevToken.getToken() : null;
if ("a".equalsIgnoreCase(prevTokenStr) || "an".equalsIgnoreCase(prevTokenStr)) {
Determiner determiner = getCorrectDeterminerFor(token);
if (prevTokenStr != null) {
String msg = null;
After Change
public RuleMatch[] match(final AnalyzedSentence sentence) {
final List<RuleMatch> ruleMatches = new ArrayList<>();
final AnalyzedTokenReadings[] tokens = sentence.getTokensWithoutWhitespace();
int prevTokenIndex = 0;
for (int i = 1; i < tokens.length; i++) { // ignoring token 0, i.e., SENT_START
AnalyzedTokenReadings token = tokens[i];
String prevTokenStr = prevTokenIndex > 0 ? tokens[prevTokenIndex].getToken() : null;
boolean isSentenceStart = prevTokenIndex == 1;
boolean equalsA = "a".equalsIgnoreCase(prevTokenStr);
boolean equalsAn = "an".equalsIgnoreCase(prevTokenStr);
if (!isSentenceStart) {
equalsA = "a".equals(prevTokenStr);
equalsAn = "an".equals(prevTokenStr);
}
if (equalsA || equalsAn) {